From: Jason Rumney Date: Tue, 31 Aug 2004 22:43:26 +0000 (+0000) Subject: 2004-08-31 NAKAMURA Toshikazu (tiny change) X-Git-Tag: archive/raspbian/1%29.2+1-2+rpi1~1^2~21221 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:///%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:/?a=commitdiff_plain;h=7246db8c80306f1230d1035dfc8db0f59c08c1af;p=emacs.git 2004-08-31 NAKAMURA Toshikazu (tiny change) * w32fns.c (w32_load_font): If a BDF font is already loaded, do not reload it. --- diff --git a/src/w32fns.c b/src/w32fns.c index 0cb3abe91cd..8d695fd65bc 100644 --- a/src/w32fns.c +++ b/src/w32fns.c @@ -4642,6 +4642,7 @@ int size; { Lisp_Object bdf_fonts; struct font_info *retval = NULL; + struct w32_display_info *dpyinfo = FRAME_W32_DISPLAY_INFO (f); bdf_fonts = w32_list_bdf_fonts (build_string (fontname), 1); @@ -4649,11 +4650,22 @@ int size; { char *bdf_name, *bdf_file; Lisp_Object bdf_pair; + int i; bdf_name = SDATA (XCAR (bdf_fonts)); bdf_pair = Fassoc (XCAR (bdf_fonts), Vw32_bdf_filename_alist); bdf_file = SDATA (XCDR (bdf_pair)); + // If the font is already loaded, do not load it again. + for (i = 0; i < dpyinfo->n_fonts; i++) + { + if ((dpyinfo->font_table[i].name + && !strcmp (dpyinfo->font_table[i].name, bdf_name)) + || (dpyinfo->font_table[i].full_name + && !strcmp (dpyinfo->font_table[i].full_name, bdf_name))) + return dpyinfo->font_table[i]; + } + retval = w32_load_bdf_font (f, bdf_name, size, bdf_file); bdf_fonts = XCDR (bdf_fonts);